/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sacodemel.financeiro.mb;

import com.sacodemel.financeiro.servico.IInvestimentosService;
import com.sacodemel.financeiro.modelo.dto.InvestimentoDTO;
import com.sacodemel.financeiro.modelo.dto.TotalDTO;
import com.sacodemel.financeiro.servico.impl.InvestimentosService;
import com.sacodemel.financeiro.util.JSFUtil;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author X4Q1
 */
@ManagedBean
@RequestScoped
public class InvestimentosMB {
    
    private List<InvestimentoDTO> listaInvestimentos = null;
    private IInvestimentosService investimentosService = new InvestimentosService();
    private TotalDTO total;

    /**
     * @return the listainvestimentos
     */
    public List<InvestimentoDTO> getListaInvestimentos() {
        
        if (listaInvestimentos == null) {
            this.carregaListagem();
        }
        
        return listaInvestimentos;
    }

    /**
     * @param listainvestimentos the listainvestimentos to set
     */
    public void setListaInvestimentos(List<InvestimentoDTO> listaInvestimentos) {
        this.listaInvestimentos = listaInvestimentos;
    }

    /**
     * @return the ivestidoresService
     */
    public IInvestimentosService getInvestimentosService() {
        return investimentosService;
    }

    /**
     * @param ivestidoresService the ivestidoresService to set
     */
    public void setInvestimentosService(IInvestimentosService investimentosService) {
        this.investimentosService = investimentosService;
    }
    
    private void carregaListagem() {
        
        try {
            listaInvestimentos = investimentosService.obterListaInvestimentos();
            total = investimentosService.retornarTotalizadores(listaInvestimentos);
        } catch (Exception e) {
            JSFUtil.adicionaMensagemFalha(e.getMessage());
        }
        
        
        
        
    }

    /**
     * @return the total
     */
    public TotalDTO getTotal() {
        return total;
    }

    /**
     * @param total the total to set
     */
    public void setTotal(TotalDTO total) {
        this.total = total;
    }
}
